#ifndef GAMEENGINE_GEOMETRY_INTERSECTION_DEFS_H
#define GAMEENGINE_GEOMETRY_INTERSECTION_DEFS_H

#include <GameEngine/Geometry/geometry_settings.h>


#ifdef GAMEENGINE_NAMESPACES
namespace GameEngine {
#endif

namespace IntersectionType {
	//! Type of intersection
	enum Type {
		//! The elements do not intersect
		NoIntersection,
		//! The elements are parallel
		Parallel,
		//! The elements would intersect if they were larger
		ExternIntersection,
		//! The elements are tangent
		/*!
		 @note This type of intersection solely applies to curvilinear elements
		 */
		TangentIntersection,
		//! The elements do intersect
		Intersection,
		//! At least one of the elements is degenerate, hence intersection cannot be computed
		DegenerateIntersection,
		//! The intersection occurs on the edge of one of the elements
		EdgeIntersection
	};
}

#ifdef GAMEENGINE_NAMESPACES
} // namespace GameEngine
#endif

#endif
